package com.tx.core.generator.model;

import java.util.List;

/**
 * Dao生成模型<br/>
 * <功能详细描述>
 * 
 * @author  PengQingyang
 * @version  [版本号, 2022年10月12日]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public interface DaoGenModel {
    
    /**
     * 所在包名(simplePackage,仅含最后一级)
     * <功能详细描述>
     * @return [参数说明]
     * 
     * @return String [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     */
    String getBasePackage();
    
    /**
     * 实体类型name<br/>
     * <功能详细描述>
     * @return [参数说明]
     * 
     * @return String [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     */
    String getEntityTypeName();
    
    /**
     * 实体类型simpleName<br/>
     * <功能详细描述>
     * @return [参数说明]
     * 
     * @return String [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     */
    String getEntityTypeSimpleName();
    
    /**
     * PropertyList
     * <功能详细描述>
     * @return [参数说明]
     * 
     * @return List<EntityProperty> [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     */
    List<EntityProperty> getPropertyList();
    
    /**
     * 主键属性
     * <功能详细描述>
     * @return [参数说明]
     * 
     * @return EntityProperty [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     */
    EntityProperty getPkProperty();
    
}